#include <windows.h>
#include "DIVA_VM.h"

std::vector<std::string> attrs;	// 記錄屬性資訊
std::string rightAttr;
std::string downAttr;

// method: 取得對話窗中，使用者選取的屬性
void selectAttr(WPARAM wParam, HWND hDlg){
	/*
	switch (LOWORD(wParam)) {
			case IDOK:
				// 使用者按下OK時，取得屬性~

				// 取得向右屬性
				rightAttr = "";
				int len = GetWindowTextLength(GetDlgItem(hDlg, IDC_MoveRightAttr));
				if(len > 0){
					char* buf;
					buf = (char*)GlobalAlloc(GPTR, len + 1);
					GetDlgItemText(hDlg, IDC_MoveRightAttr, buf, len + 1);
					rightAttr = buf;
					GlobalFree((HANDLE)buf);
				}

				// 取得向下屬性
				downAttr = "";
				len = GetWindowTextLength(GetDlgItem(hDlg, IDC_MoveDownAttr));
				if(len > 0){
					char* buf;
					buf = (char*)GlobalAlloc(GPTR, len + 1);
					GetDlgItemText(hDlg, IDC_MoveDownAttr, buf, len + 1);
					downAttr = buf;
					GlobalFree((HANDLE)buf);
				}

				// 結束對話窗
				EndDialog(hDlg, TRUE);
				break;
	}
	*/
}

// event handler: 處理LinkedListSettingDialog事件
BOOL CALLBACK LinkedListSettingLayoutDialog( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
	/*
	LPDRAWITEMSTRUCT lpdis;

	switch (message) {

		case WM_INITDIALOG:
			{
				HWND CB_RIGHT =  GetDlgItem(hDlg,IDC_MoveRightAttr);
				HWND CB_DOWN  =  GetDlgItem(hDlg,IDC_MoveDownAttr);
				// 初始化combo box資料
				for(int i=0;i<(int)attrs.size();i+=2)
				{
					// 初始化向右、向下的屬性資料選單
					// Win32 元件在存取值時 需要使用到SendMessage指令
					// 見http://www.functionx.com/win32/controls/combobox.htm
					SendMessage(CB_RIGHT, CB_ADDSTRING, 0, reinterpret_cast<LPARAM>((LPCTSTR)attrs.at(i).c_str()));
					SendMessage(CB_DOWN,  CB_ADDSTRING, 0, reinterpret_cast<LPARAM>((LPCTSTR)attrs.at(i).c_str()));
				}

				// 初始化Combo box顯示的文字
				SetWindowText(CB_RIGHT, (LPCSTR)attrs.at(0).c_str());
				SetWindowText(CB_DOWN,  (LPCSTR)attrs.at(0).c_str());
			}
			break;
		case WM_PAINT:
			break;
		case WM_COMMAND: 
			// 按下元件時(IDOK)，取得屬性
			selectAttr(wParam, hDlg); 
			return (TRUE); 

		case WM_DRAWITEM: 
			lpdis = (LPDRAWITEMSTRUCT) lParam; 
			return (TRUE); 
	}
	*/
	return (FALSE); 
}